
package jobascjp.pkgB;

import jobascjp.pkgA.Foo;

/**
 *
 * @author joba
 */
public class Baz {
    
    public static void main(String[] args) {
		Foo f = new Foo();
		//System.out.println(" " + f.a); // Line 8, Fails not visible
		//System.out.println(" " + f.b); // Line 9, Fails not visible
		System.out.println(" " + f.c);
	}

	// What is the result?
	// 5 6 7
	// 5 followed by an exception
	// Compilation fails with an error on line 7;
	// Compilation fails with an error on line 8;
	// Compilation fails with an error on line 9;
	// Compilation fails with an error on line 10;
	
	// Anmerkungen:
	// f.a und f.b sind nicht sichtbar, Loesung ist also D, E. Eine 
	// Variable f hat eine Referenz auf ein Objekt Foo und hier ist die
	// Sichtbarkeit bei a default also nicht sichtbar aus anderen 
	// Paketen, also fail. Bei b ist die Sichtbarkeit protected, es ist
	// also auch hier unsichtbar, Baz und Foo sind je nicht in einer 
	// Vererbungshierachie!
    
}
